---
title: Introduction
---

import { Callout } from "nextra-theme-docs";
import { Demo } from "../../../components/Demo";
import { CurrentDate } from "../../../components/CurrentDate";

# Introduction

**Stackflow** is a project that implements Stack Navigation UX, commonly used in mobile devices (iOS/Android, etc.), in a JavaScript environment, making it easier to develop hybrid apps and webviews.

- Stacks screens and maintains scroll position.
- Supports transition effects for stacking screens and disappearing screens when navigating back.
- Supports iOS-style swipe-back gestures for navigating back.
- Passes necessary parameters to the transitioning screen.

### Customization
You can use the stack and transition state without any UI, allowing you to customize the UI as you like.

You can inject desired extensions into the lifecycle through the plugin interface.

### Integration with Various Platforms
The core logic and integration layer are separated, allowing integration with various frontend frameworks.
You can inject render logic and UI externally, enabling simultaneous development of mobile webviews and desktop applications from a single codebase.

### Server-Side Rendering, TypeScript
Supports `ReactDOMServer.renderToString`. stackflow provides type definitions for all functions.

<Callout emoji="💡">
  As of <CurrentDate locale="en" />, it supports React and React DOM as references.
</Callout>

